Providing visualizations for conversations

ABSTRACT

Technologies are generally described for providing a system for visualizing items and conversations in a communication application. Conversations are presented as a list of items in the communication application. A quantity of presented items is limited based on a size of a client device employed for viewing the items. Visualizations are applied to the presented items to attempt to maximize a number of items that are presented while providing information about the items to enable a user to preview content and take actions on the items. The visualizations include different templates applied to each item based on a type of item and content associated with the item, and the templates may be are dynamically updated based on user interactions with the items. The templates for items are determined by applying a set of rules and factors to each item to determine a most appropriate visualization for each item.

BACKGROUND

Email applications are widely used by users on a variety of clientdevices for non-real time correspondence. With the proliferation ofcomputing and networking technologies, email use has become aninextricable part of daily personal and professional lives. Theincreased reliance on email brings with it the disadvantage of how todeal with increasingly large numbers of emails. It is a commonoccurrence to find hundreds of email needing attention (at least a quickreview) when a person comes back from vacation or comparable absence.Similarly, certain events (e.g., a product release, a conference, etc.)may generate a large number of received emails when the person receivingthe emails may be too busy to deal with the increased volume.

Users may receive a large quantity of emails hourly and daily, andsorting through hundreds and even thousands of emails to find importantemails that need to be dealt with can be arduous, inefficient, and timeconsuming. Spending a significant time going through emails can bestressful and overwhelming, and users may feel that it is difficult tocatch up and read through everything to find and keep track of importantemails and to efficiently manage emails.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to exclusively identify keyfeatures or essential features of the claimed subject matter, nor is itintended as an aid in determining the scope of the claimed subjectmatter.

Embodiments are directed to providing a system for visualizing items andconversations, such as emails, in a communication application.Conversations may be presented as a list of items in an inbox of thecommunication application. A quantity of items that may be presented inthe list of items may be limited based on a size of a client deviceemployed for viewing the items. The communication application may applyvisualizations to presented items to attempt to maximize a number ofitems that may be presented while providing information about the itemsthat may enable a user to preview content of the items and take actionson the items. The visualizations may include different templates andannotations applied to each item based on a type of item and contentassociated with the item, and the templates may be dynamically updatedbased on user interactions with the items. The templates and annotationsfor items may be determined by applying a set of rules and factors toeach item to determine a most appropriate visualization for each item.

These and other features and advantages will be apparent from a readingof the following detailed description and a review of the associateddrawings. It is to be understood that both the foregoing generaldescription and the following detailed description are explanatory anddo not restrict aspects as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example networked environment where a system forproviding visualizations associated with conversations on a clientdevice may be employed;

FIGS. 2A and 2B illustrate example visualizations of a selectedconversation and a read conversation;

FIGS. 3A and 3B illustrate example template visualizations enablingactions to be taken from the list of conversations;

FIG. 4 illustrates an example schematic for applying visualizations toitems in a communication application;

FIG. 5 is a networked environment, where a system according toembodiments may be implemented;

FIG. 6 is a block diagram of an example computing operating environment,where embodiments may be implemented; and

FIG. 7 illustrates a logic flow diagram for a process of providing asystem for visualizing items and conversations in a communicationapplication, according to embodiments.

DETAILED DESCRIPTION

As briefly described above, a system is described for providingvisualizations for items and conversations in a communicationapplication. A conversation as used herein may refer to a singlemessage, multiple messages sharing a common theme (e.g., common subject,common sender, common receiver, etc.), or any exchanged items (e.g.,documents, audio files, video files, and other data) that are part of acommon theme and are exchanged via the communication application. Aquantity of presented items in an inbox of a communication applicationmay be limited based on a size of a client device employed for viewingthe items. Visualizations may be applied to the presented items toattempt to maximize a number of items that are presented while providinginformation about the items to enable a user to preview content and takeactions on the items. The visualizations may include a variety oftemplates applied to each item based on a type of item and contentassociated with the item. The templates may be determined by applying aset of rules and factors to each item to determine an appropriatevisualization for each item.

In the following detailed description, references are made to theaccompanying drawings that form a part hereof, and in which are shown byway of illustrations specific embodiments or examples. These aspects maybe combined, other aspects may be utilized, and structural changes maybe made without departing from the spirit or scope of the presentdisclosure. The following detailed description is therefore not to betaken in a limiting sense, and the scope of the present invention isdefined by the appended claims and their equivalents.

While the embodiments will be described in the general context ofprogram modules that execute in conjunction with an application programthat runs on an operating system on a computing device, those skilled inthe art will recognize that aspects may also be implemented incombination with other program modules.

Generally, program modules include routines, programs, components, datastructures, and other types of structures that perform particular tasksor implement particular abstract data types. Moreover, those skilled inthe art will appreciate that embodiments may be practiced with othercomputer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and comparablecomputing devices. Embodiments may also be practiced in distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules may be located inboth local and remote memory storage devices.

Embodiments may be implemented as a computer-implemented process(method), a computing system, or as an article of manufacture, such as acomputer program product or computer readable media. The computerprogram product may be a computer storage medium readable by a computersystem and encoding a computer program that comprises instructions forcausing a computer or computing system to perform example process(es).The computer-readable storage medium can for example be implemented viaone or more of a volatile computer memory, a non-volatile memory, a harddrive, a flash drive, a floppy disk, or compact servers, an applicationexecuted on a single computing device, and comparable systems. The term“server” generally refers to a computing device executing one or moresoftware programs typically in a networked environment. However, aserver may also be implemented as a virtual server (software programs)executed on one or more computing devices viewed as a server on thenetwork. More detail on these technologies and example operations isprovided below.

Throughout this specification, the term “platform” may be a combinationof software and hardware components for providing a system to facilitateproviding visualizations associated with conversations in acommunication application. Examples of platforms include, but are notlimited to, a hosted service executed over a plurality of servers, anapplication executed on a single computing device, and comparablesystems. The term “server” generally refers to a computing deviceexecuting one or more software programs typically in a networkedenvironment. However, a server may also be implemented as a virtualserver (software programs) executed on one or more computing devicesviewed as a server on the network. More detail on these technologies andexample operations is provided below.

According to embodiments, a client device may be a touch orgesture-enabled device, such that hand gestures and finger touch may berecognized as input methods on the user interface of the client devicefor interacting with, controlling, and providing content to the clientdevice. The client device may also work with a traditional mouse andkeyboard. A touch or gesture-enabled device may recognize touch actionssuch as a tap, a swipe, a pinch, expand, and a drag, as some examples.Touch actions, such a tap, swipe, pinch, expand, and drag, and othersimilar actions as used herein may be provided by a user through afinger, a pen, a mouse, or similar device, as well as through predefinedkeyboard entry combinations, a voice command, or an eye-tracking input.

FIG. 1 illustrates an example networked environment, where a system forproviding visualizations associated with conversations on a clientdevice may be employed. In a collaborative environment, as demonstratedin diagram 100, a user 116 may employ a variety of different clientdevices to communicate with other users. For example, a communicationapplication executed on the client devices may enable email exchange,instant messaging, voice over IP (VOIP), audio and video conferencing,and phone calls. The communication application may be executed on theclient device, and may be connected with a server 114 and with otherclient devices over a network 112. The network 112 may be a wired orwireless network, or a cloud network. The server 114 providing thecommunications through the communication application may also provideother features accessible at the client devices over the network such ascalendar applications, word processing applications, contactsmanagement, and presence detection. The communication application andother applications may be integrated together to enable the applicationsto communicate with each other to exchange information for seamlesscoordination of communicating, collaborating, and information exchange.

Some example client devices for viewing emails may include a desktopcomputing device 104, a personal computer 106, a tablet 108, asmartphone 110, a whiteboard and other similar client devices. Theclient devices may be configured to enable touch and gestureinteraction, such that the user 116 may interact with a document, or aconversation such as an email, viewed on the user's client deviceemploying touch and gesture actions on the user interface of the clientdevice.

In some example embodiments, a large quantity of emails andconversations may be received daily at a communication application.Example emails may include important business and personal emails, aswell as less important emails which may include shopping, news,entertainment, recreational, and other low importance emails. Otherconversations may include instant messages, emails to schedule meetings,conference calls, and shared documents. When the user 116 receives alarge quantity of emails, the user 116 may need to be able to quicklysort through the user's inbox to quickly find, view, and reply toimportant emails.

In some scenarios, the communication application may be configured todisplay conversations, such as emails, in different configurations basedon the type of computing device for optimizing how a user views andinteracts with emails on the computing device. For example, a personalcomputer or desktop device may have more viewing space on the userinterface such that a larger quantity of emails may be viewed at a time,as well as some detailed preview information about an email may beprovided. A tablet or smartphone, however, may have a smaller userinterface and thus more limited viewing space for displaying emails. Asa result of a smaller user interface, fewer emails may be displayed onan email application executed on a smart phone or tablet, and when theuser 116 views emails on a tablet or smartphone, it may be even moredifficult to parse through a large quantity of unread and unsortedemails quickly and efficiently. A user may desire to view enough summaryinformation about an email to know what it is about, but also to view alarger quantity of emails in the user's inbox. A system according toembodiments may facilitate providing preview information aboutconversations presented in an inbox and enabling a user to take actionson a conversation directly from the inbox, while maximizing a quantityof presented items in the inbox.

FIGS. 2A and 2B illustrate example visualizations of a selectedconversation and a read conversation, according to some exampleembodiments.

As illustrated in diagram 200, conversations displayed in an inbox 214of a communication application 202 may be presented with differentvisualizations to enable a user to quickly scan the inbox 214 to see anoverview of new, unread, and previously seen conversations, to identifytypes of conversations, and to decide a priority of the conversations. Asystem according to embodiments may provide a visualization of aconversation based on a detected input by a user when interacting withthe conversations. Based on the input and different data about aselected conversation or item, the system may choose a visualizationthat is most appropriate and most useful to the user at any given time.The selected visualization may be advantageous in that it may strike abalance between providing enough information about a conversation toenable the user to determine what a conversation is about, anddisplaying a larger number of conversations in the inbox 214 on a userinterface associated with the communication application 202.Additionally, the visualizations may be visually appealing to enhance aconversation experience, and to aid in enabling a user to recall andfind certain conversations based on provided visual cues rather thanstrictly text-based cues.

In an example embodiment, a system for visualizing conversations in theinbox 214 may involve a collection of templates, rules, factors, andannotations. The collection of templates may include visually distinctlayouts for a presentation of information associated with a conversationin the inbox 214. The annotations may include additional pieces ofinformation that may be applied to a template to modify the template andmay provide additional information. For example, the annotations mayindicate a currently selected item, or that an item has been marked asimportant. The rules may be applied to determine the template andannotations to display for any given item or conversation in the inbox214. The rules may test one or more of the factors to determine theannotations and templates to apply to a visualization for an item.

In an example embodiment, example visualization templates may be anunread conversation template and a read item template. Upon detection ofa selection of a conversation 208 to view, read and/or reply to, theconversation may be transitioned from the unread template as shown indiagram 200A, to the read template 228 as shown in diagram 200B. Theunread template for the selected conversation 208 may display the sendername, time and date received, a subject and a short preview of the bodyof the conversation so that the user can preview the message to see whatit is about and decide what actions to take. The read template 228 mayhide some of the details such as the preview of the body of the message,and may display the sender, subject and time and date information onlyin order to reduce a size of the conversation displayed in the inbox214. When the conversation is reduced in size, it may take up less spacein the inbox 214 to enable one or more additional conversations 230 tobe viewed in the inbox 214, while still providing enough information toenable the user to remember what that conversation was about. In anotherexample, in the unread state, the conversation may take up less space inthe inbox 214, and after the conversation has been read, a read templatemay provide more information about the conversation such that the readconversation may occupy more space in the inbox 214 than an unreadconversation. For example, the system may determine that the user hasexpressed interest in the read conversation, and more details about theread conversation may be provided to enable the user to quickly scan andfind the conversation in the inbox.

Other templates may also be implemented. For example, as will bedescribed in further detail below, a template may display a preview orthumbnail view of attachments included in the body of the message andmay also enable an action to be taken from the preview template of theconversation without opening the conversation. The template may bechosen by applying the set of rules to determine the template selection.An example rule may be if the item is a conversation the user has notread before, then use the unread template, and if the item is aconversation that the user has seen before, then use the read template.

In another example, the system may provide annotations with templatevisualizations to provide additional information about a conversation.For example, there might be an annotation showing whether a currentconversation item is selected by showing a box 212 around the selectedconversation 208, changing a background color 210 of the selectedconversation. Another example annotation may be an icon displayedadjacent to the conversation preview in the inbox 214 to show whetherthe item has been flagged or starred, whether the item is protected withsecurity permissions, and an importance of the message, to name a few.The annotations may be applied regardless of the selected template.

In a system according to embodiments, as illustrated in diagram 200B,another example annotation may be an indicator, such as a vertical bar(226, 227) displayed adjacent to a conversation to provide informationabout whether the conversation has been read, replied to, interactedwith, and the like. The vertical bar may change color based on whetherthe conversation has been read or not, and the vertical bar may changesize or width based on previous interactions by the user with theconversation. For example, if the user has replied multiple times to theconversation, then the vertical bar may be fairly wide, while if theuser has only viewed the conversation one time, the vertical bar may bea thin line. The size and color of the vertical bar may provide a hintto the user that the conversation may be more important than otherconversations in the inbox 214. Other indicators, and graphical,shading, highlighting, and color schemes may also be used to annotate aconversation to provide information to the user about the conversation.

In a system according to embodiments, touch 232 and gesture interactionsmay be employed to enable a user to interact with the communicationapplication 202 to scroll through the inbox 214, select a conversation,and perform actions associated with the conversations. Example touchactions may include a tap and hold, swipe, drag, pinch, and othersimilar actions. Other traditional input actions such as mouse, stylusand keyboard entries may also be utilized to select to interact withconversations displayed in the communication application 202.

FIGS. 3A and 3B illustrate example template visualizations enablingactions to be taken from the list of conversations, according to someexample embodiments.

In a system according to embodiments, different templates may be used topresent conversations in an inbox 314 of a communication application302. The templates may include visually distinct layouts forpresentation of information associated with each conversation. Aspreviously discussed, a template may include presenting summaryinformation of a sender, subject, and body of a conversation, and afterthe conversation is viewed, the template may change to a differenttemplate where the preview of the body of the conversation may behidden.

As illustrated in diagram 300A, other templates may be employed todisplay additional information included in the body of the conversation,such as when the conversation includes an attachment, embedded itemsand/or images, a link to another item or website, a calendar and/ormeeting request, as some examples. An example template for such aconversation may display summary information about the conversationincluding the sender, subject, and time/date information, and may alsodisplay a short preview of the body and an icon indicating a type ofitem included in the conversation. For example, if the conversationincludes an attached document, a document icon 308 may be displayed in apreview template of the conversation in the inbox 314. Similarly, athumbnail 324 of an attached or embedded image may displayed in thepreview template of the conversation, and if the conversation includes ameeting request, a calendar icon 306 with the date of the request may bedisplayed in the preview template of the conversation in the inbox 314.

In a further embodiment, the preview template of the conversation in theinbox 314 may enable the user to take an action from the templatewithout having to open the conversation in a separate viewing pane. Forexample, an option 310 to save or open the attached document may bepresented next to the document icon 308. The user may select to save theattachment to the user's client device or open the attachment from theinbox, without opening the conversation. In another example, the usermay select the thumbnail 324 of an attached image displayed in thepreview to open the image in a full screen view for viewing the imagewithout opening the conversation. In yet another example, anaccept/decline request option 309 may be presented in the preview whenthe conversation includes a request to schedule a meeting, call or otherevent. The user may select to accept the event from the previewtemplate, and the event may be automatically added to the user'scalendar without the user having to open the conversation and navigateto a separate calendar interface or calendar application. Furthermore,the user may receive a poll or questionnaire, and the user may be ableto respond to the poll or questionnaire directly from the conversationin the inbox without having to open the conversation to a full view.

As illustrated in diagram 300B, the template may update after a userinteracts with a conversation. For example, after the user selects totake an action from the conversation, such as saving a document, oraccepting an event, the template may update to hide the displayedattachment, image, or calendar icon. For example, the conversationincluding the attached document may be reduced to a new template 332 todisplay more brief information such as the sender, subject and time anddate information only in order to minimize the space the conversationoccupies in the inbox and to enable additional messages 330 to bedisplayed in the inbox 314.

In another example embodiment, as also illustrated in diagram 300B,template visualizations for a list of conversations in the inbox 314 mayinclude additional annotations to enable additional actions to be takendirectly from the inbox. Some example annotations enabling actions to betaken may be a delete action 316, a hide action 318, and a star action320. The delete action 316 may enable the user to automatically move theconversation to a trash folder of the communication application. Thehide action 318 may temporarily hide the conversation from the inbox 314to enable additional conversations to be displayed. The star action 320may enable the user to mark the conversation as important so that theuser can quickly scan the inbox to identify important messages. Thedescribed actions are meant to be exemplary of actions that may be takendirectly from a conversation displayed in the inbox 314. Many otheractions may be available and displayed as annotations on the templatevisualizations for conversations in the inbox. Other actions may be togroup conversations together, delay delivery of the conversation untilanother time, schedule a follow up reminder, and other similar actions.

FIG. 4 illustrates an example schematic for applying visualizations toitems in a communication application, according to some exampleembodiments.

As previously described, a system for visualizing conversations in aninbox of a communication application may involve a collection oftemplates 404, rules 402, factors 408, and annotations 406. Thecollection of templates 404 may include visually distinct layouts forpresentation of information associated with a conversation in the inbox.The annotations 406 may include additional information that may beapplied to a template to modify the template and to provide additionalinformation about the conversation.

The rules may be applied to determine the template and annotations todisplay for any given item or conversation in the inbox. For example, arule may be: if the item is a conversation the user has read or viewedbefore, then use a first template 410, and if the item is a conversationthat the user has not seen before, then use another template 412. Anynumber of templates 414 may be provided in the collection of templates404 to provide multiple visualization options for presenting informationand conversations in the communication application. In anotherimplementation with a multitude of additional rules, the rules may beprioritized so that if more than one rule's conditions are satisfied,the outcome is not ambiguous, and a particular rule may receive priorityover another rule meeting the same conditions. Furthermore, the rulesmay be dynamically evaluated and updated as the system receives userinput, so that as the user interacts with the communication application,the system may observe user behavior and preferences, and may determinea most appropriate template based on the user's interaction.

In an additional embodiment, the system may employ behavior modeling inaddition to the rules to pick the most appropriate templates forvisualizing conversations. The behavior modeling may gather feedbackbased on user interaction and adjust template selection appropriately.For example, if a user is having to open every item to see an expandedview of it, then that action may imply that the templates do not provideenough preview information, and the templates may be updated to providemore information to enable the user to preview the item and take actionon at least some of the items without having to open them.

Additionally, after a template has been selected for visualizing aconversation, one or more annotations 406 may be provided along with thetemplate to provide additional information. Example annotations may be acolor scheme, graphical scheme, highlighting scheme applied to an item,and may also include icons, indicators, and selectable options displayedwith a conversation. For example, an annotations may indicate acurrently selected item, a flagged item for follow up, or that an itemhas been marked as important.

In a system according to embodiments, the rules 402 may test one or moreof the factors 408 to determine the templates 404 and annotations 406 toapply to a visualization for an item or conversation. Factors may beinputs or signals that the rules test. In the example rule describedabove, the factor is whether or not the message has been read. Amultitude of other factors may be considered by the rules to determinetemplates and annotations. Some example factors may include a source ofthe communication application including a web browser, a localcommunication application, and a social networking application, a senderidentity, an unsent draft, one or more recipients of the conversation, aconversation the user has sent to himself, a number of messages in theconversation, past interaction with the item such as whether it has beenflagged, selected, opened, and how often it has been selected andopened, and an item count including a number of items in the inbox and arate of the incoming items. Yet other factors may include an age of anitem, where the item is displayed in the flow of the inbox, a zoom levelof the item or the inbox, and defined user preferences. For example, theuser may define a set of preferred display options for certain types ofconversations, and the user preferences may take precedence when thesystem determines visualizations for items in the communicationapplication.

The examples described above in FIG. 2 through 4 are shown with specificcomponents, visualizations, and configurations. Embodiments are notlimited to systems according to these example visualizations andconfigurations. Providing a system for visualizing items in acommunication application may be implemented in configurations employingfewer or additional components in applications and user interfaces.Furthermore, while the examples have been described in the context ofmessages, conversations such as emails, instant messages, and recordedaudio and video conversations may be organized, prioritized, andarranged with similar actions as described above.

FIG. 5 is an example networked environment, where embodiments may beimplemented. A system for visualizing items in a communicationapplication may be implemented via software executed over one or moreservers 514 such as a hosted service. The platform may communicate withclient applications on individual computing devices such as a smartphone 513, a laptop computer 512, or desktop computer 511 (′clientdevices′) through network(s) 510.

Client applications executed on any of the client devices 511-513 mayfacilitate communications via application(s) executed by servers 514, oron individual server 516. An application executed on one of the serversmay facilitate determining visualizations for items presented in aninbox. The application may retrieve relevant data from data store(s) 519directly or through database server 518, and provide requested services(e.g. document editing) to the user(s) through client devices 511-513.

Network(s) 510 may comprise any topology of servers, clients, Internetservice providers, and communication media. A system according toembodiments may have a static or dynamic topology. Network(s) 510 mayinclude secure networks such as an enterprise network, an unsecurenetwork such as a wireless open network, or the Internet. Network(s) 510may also coordinate communication over other networks such as PublicSwitched Telephone Network (PSTN) or cellular networks. Furthermore,network(s) 510 may include short range wireless networks such asBluetooth or similar ones. Network(s) 510 provide communication betweenthe nodes described herein. By way of example, and not limitation,network(s) 510 may include wireless media such as acoustic, RF, infraredand other wireless media.

Many other configurations of computing devices, applications, datasources, and data distribution systems may be employed to implement aplatform for providing a system for visualizing items in a communicationapplication. Furthermore, the networked environments discussed in FIG. 5are for illustration purposes only. Embodiments are not limited to theexample applications, modules, or processes.

FIG. 6 and the associated discussion are intended to provide a brief,general description of a suitable computing environment in whichembodiments may be implemented. With reference to FIG. 6, a blockdiagram of an example computing operating environment for an applicationaccording to embodiments is illustrated, such as computing device 600.In a basic configuration, computing device 600 may be any computingdevice executing an application for providing a system for visualizingitems and conversations in a communication application according toembodiments and include at least one processing unit 602 and systemmemory 604. Computing device 600 may also include a plurality ofprocessing units that cooperate in executing programs. Depending on theexact configuration and type of computing device, the system memory 604may be volatile (such as RAM), non-volatile (such as ROM, flash memory,etc.) or some combination of the two. System memory 604 typicallyincludes an operating system 605 suitable for controlling the operationof the platform, such as the WINDOWS® operating systems from MICROSOFTCORPORATION of Redmond, Wash. The system memory 604 may also include oneor more software applications such as communication application 622, atemplate management module 624, and a rule management module 626.

Communication application 622 may facilitate conversation exchangeincluding emails, instant messages, and audio/video conferencing.Conversations may be presented in a list associated with thecommunication application 622 for providing a preview of exchangedconversations. A template management module 624 may be configured toprovide visualizations of each item presented in the list to provideappealing and useful information about each item to a user to enable theuser to preview what the item is about and to take action on the itembased on the provided information. A rule management module 626 mayapply a set of rules to determine an appropriate template visualizationbased on a set of factors and predefined rules. The communicationapplication 622, template management module 624, and rule managementmodule 626 may be separate applications or integrated modules of ahosted service. For example, communication application 622 may be abrowser accessing an email service and may be integrated with othercontent sharing applications such as instant messaging applications,video conferencing applications, and calendar applications. This basicconfiguration is illustrated in FIG. 6 by those components within dashedline 608.

Computing device 600 may have additional features or functionality. Forexample, the computing device 600 may also include additional datastorage devices (removable and/or non-removable) such as, for example,magnetic disks, optical disks, or tape. Such additional storage isillustrated in FIG. 6 by removable storage 609 and non-removable storage610. Computer readable storage media may include volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information, such as computer readableinstructions, data structures, program modules, or other data. Systemmemory 604, removable storage 609 and non-removable storage 610 are allexamples of computer readable storage media. Computer readable storagemedia includes, but is not limited to, RAM, ROM, EEPROM, flash memory orother memory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to store thedesired information and which can be accessed by computing device 600.Any such computer readable storage media may be part of computing device600. Computing device 600 may also have input device(s) 612 such askeyboard, mouse, pen, voice input device, touch input device, andcomparable input devices. Output device(s) 614 such as a display,speakers, printer, and other types of output devices may also beincluded. These devices are well known in the art and need not bediscussed at length here.

Computing device 600 may also contain communication connections 616 thatallow the device to communicate with other devices 618, such as over awired or wireless network in a distributed computing environment, asatellite link, a cellular link, a short range network, and comparablemechanisms. Other devices 618 may include computer device(s) thatexecute communication applications, web servers, and comparable devices.Communication connection(s) 616 is one example of communication media.Communication media can include therein computer readable instructions,data structures, program modules, or other data. By way of example, andnot limitation, communication media includes wired media such as a wirednetwork or direct-wired connection, and wireless media such as acoustic,RF, infrared and other wireless media.

Example embodiments also include methods. These methods can beimplemented in any number of ways, including the structures described inthis document. One such way is by machine operations, of devices of thetype described in this document.

Another optional way is for one or more of the individual operations ofthe methods to be performed in conjunction with one or more humanoperators performing some. These human operators need not be collocatedwith each other, but each can be only with a machine that performs aportion of the program.

FIG. 7 illustrates a logic flow diagram for process 700 of providing asystem for visualizing items and conversations in a communicationapplication, according to embodiments. Process 700 may be implemented ona computing device or similar electronic device capable of executinginstructions through a processor.

Process 700 begins with operation 710, where a plurality of messagesreceived through a communication application may be detected. Operation710 may be followed by operation 720 where an initial visualization fornew and unread messages displayed in an inbox of the communicationapplication may be displayed. Operation 720 may be followed by operation730 where a selection of a message from the plurality of messagesdisplayed in an inbox of the communication application may be detected.The message may be selected employing touch and gesture input as well asthrough mouse, stylus and keyboard input.

Operation 730 may be followed by operation 740 where the selectedmessage may be updated to display a new visualization. The newvisualization may provide less information such that the selectedmessage may occupy less space in the inbox. The new visualization may beselected from a collection of templates. Each template in the collectionof templates may include a distinct visual layout for a messagedisplayed in the inbox.

The operations included in process 700 are for illustration purposes.Providing a system for visualizing items and conversations in acommunication application may be implemented by similar processes withfewer or additional steps, as well as in different order of operationsusing the principles described herein.

The above specification, examples and data provide a completedescription of the manufacture and use of the composition of theembodiments. Although the subject matter has been described in languagespecific to structural features and/or methodological acts, it is to beunderstood that the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims and embodiments.

What is claimed is:
 1. A method to be executed in a computing device forproviding visualizations for conversations in a communicationapplication, the method comprising: displaying an initial visualizationfor new and unread items displayed on a user interface of thecommunication application; detecting a selection of an item from one ormore items in the initial visualization; applying a weight factor and aset of rules to select a template and an annotation for the selecteditem, wherein the weight factor is based on a source of thecommunication application and a user preference, the template includesan option to respond directly to one or more of: a meeting, a call, apoll, and an event request included in the selected item without openingthe selected item, and the annotation includes icons, indicators, andselectable options associated with the selected item, wherein at leastone of the indicators includes a vertical bar indicator configured tochange one of: a width and a color based on a frequency of interactionswith the selected item; establishing a priority for one or more of theset of rules such that one rule is applied to the selected item if twoor more rules are determined to be applicable concurrently to theselected item; selecting a new visualization from a collection oftemplates and annotations based on user interaction with thecommunication application and applying the prioritized set of rules;updating the selected item to display the new visualization thatprovides a summary information of the selected item and the selectedannotation on the user interface; and dynamically updating the set ofrules based on detected user interaction with the selected itemdisplayed on the user interface.
 2. The method of claim 1, wherein theannotation is independent of a displayed visualization.
 3. The method ofclaim 1, further comprising: upon detection of selection of the item,displaying an annotation to indicate the item as a currently selecteditem.
 4. The method of claim 3, wherein displaying the annotation toindicate the currently selected item further comprises: displaying oneor more of: a coloring scheme, a shading scheme, a blocking scheme, ahighlighting scheme, and a graphical scheme associated with thecurrently selected item.
 5. The method of claim 1, further comprising:selecting a template for the new visualization displaying a thumbnailview of one or more of: an attached document and an embedded imageassociated with the selected item.
 6. The method of claim 5, furthercomprising: selecting a template for the new visualization to enable anaction to be taken directly on the displayed item.
 7. The method ofclaim 6, further comprising: displaying a received questionnaire on thedisplayed item; and presenting an option to directly respond to thequestionnaire from the displayed item.
 8. The method of claim 6, furthercomprising: presenting an option to at least one of: open, save,download, and delete the attached document from the displayed item whileleaving the item on the user interface.
 9. The method of claim 1,further comprising: displaying a calendar icon in the new visualizationfor one of: a meeting, a call, a poll, and an event request included inthe item, wherein the calendar icon includes a requested date and a timeinformation; and presenting an option to accept or decline the requestdirectly on the displayed item.
 10. A computing device for providingvisualizations for conversations in a communication application, thecomputing device comprising: a memory; a display; and a processorcoupled to the memory and the display, the processor configured toprovide a user interface associated with a communication application,wherein the communication application is configured to: display aninitial visualization for new and unread messages displayed on a userinterface of the communication application; detect a selection of amessage from one or more messages in the initial visualization; apply aweight factor to a set of rules to select a template and an annotationfor the selected message, wherein the weight factor is based on a sourceof the communication application and a user preference, the templateincludes an option to respond directly to one or more of: a meeting, acall, a poll, and an event request included in the selected messagewithout opening the selected message, and the annotation includes icons,indicators, and selectable options associated with the selected message,wherein at least one of the indicators includes a vertical bar indicatorconfigured to change one of: a width and a color based on a frequency ofinteractions with the selected message; establish a priority for one ormore of the set of rules such that one rule is applied to the selectedmessage if two or more rules are determined to be applicableconcurrently to the selected message; select a new visualization from acollection of templates and annotations based on user interaction withthe communication application and apply the prioritized set of rules;update the selected message to display the new visualization thatprovides a summary information of the selected message and the selectedannotation on the user interface; and dynamically update the set ofrules based on detected user interaction with the selected messagedisplayed on the user interface.
 11. The computing device of claim 10,wherein the annotation further includes one or more of: a coloringscheme, a shading scheme, a blocking scheme, a highlighting scheme, anda graphical scheme including icons.
 12. The computing device of claim10, the weight factor is further based on at least one from a set of: amessage source, a sender, recipients, a priority, and an item count. 13.The computing device of claim 10, wherein the communication applicationis further configured to: enable user interaction with messagesdisplayed on the user interface through one or more of: a touch input, agesture input, a keyboard input, a mouse input, a pen input, a voicecommand, and an eye-tracking input.
 14. A computer-readable memorydevice with instructions stored thereon for providing visualizations forconversations in a communication application, the instructionscomprising: displaying an initial visualization for new and unreadmessages displayed on a user interface of the communication application;detecting a selection of a message from one or more messages in theinitial visualization; applying a weight factor to a set of rules toselect a template and an annotation for the selected message, whereinthe weight factor is based on a source of the communication applicationand a user reference, the template includes an option to responddirectly to one or more of: a meeting, a call, a poll, and an eventrequest included in the selected message without opening the selectedmessage, and the annotation includes icons, indicators, and selectableoptions associated with the selected message, wherein at least one ofthe indicators includes a vertical bar indicator configured to changeone of: a width and a color based on a frequency of interactions withthe selected message; establishing a priority for one or more of the setof rules such that one rule is applied to the selected message if two ormore rules are determined to be applicable concurrently to the selectedmessage; selecting a new visualization from a collection of templatesand annotations based on user interaction with the communicationapplication and apply the prioritized set of rules; updating theselected message to display the new visualization that provides asummary information of the selected message and the selected annotationon the user interface; and dynamically updating the set of rules basedon detected user interaction with the selected message displayed on theuser interface.
 15. The computer-readable memory device of claim 14,wherein the weight factor is further based on at least one from a set ofa message source, a sender, recipients, a priority, and an item count.